<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="root">

    </div>
</body>
<script src="../react.js"></script>
<script src="../react-dom.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
<script type="text/babel">
    /* 
       react中 组件分为两类：

       函数式组件：又称为无状态组件;（用函数定义的组件） 没有生命周期
       class类组件：又称为有状态组件; （使用class类定义的组件）有生命周期   可以展示不同的视图

       有状态： 当前组件的数据 有状态就是数据发生改变可以更改视图
       无状态： 当前组件无法维护私有的数据 不可以更改视图
    */

    /* 
       1. 函数名首字母必须大写 若首字母小写 那么reat会将组件编译成普通的html App => <App/>
       2. 必须有return值，return通常为虚拟dom节点 （组件渲染成节点 所以要有return值）
    */

    function App() {
        let name = "张三"
        return (
            <div>
                <Header />
                <h1>我是一个函数式组件---{name}</h1>
                <Footer/>
            </div>
        )
    }
    function Header() {
        let headerStyle = {
            width: "100%",
            height: "50px",
            backgroundColor: "black",
            color: "#fff"
        }
        return (
            <div style={headerStyle}>
                我是头部
            </div>
        )
    }
    function Footer() {
        let headerStyle = {
            width: "100%",
            height: "50px",
            backgroundColor: "red",
            color: "#fff"
        }
        return (
            <div style={headerStyle}>底部内容</div>
        )
    }
    ReactDOM.render(<App />, document.getElementById("root"))
</script>

</html>